package com.nageoffer.shortlink.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nageoffer.shortlink.project.dao.entity.ShortLinkDO;
import com.nageoffer.shortlink.project.dto.req.RecycleBinRecoverReqDTO;
import com.nageoffer.shortlink.project.dto.req.RecycleBinRemoveReqDTO;
import com.nageoffer.shortlink.project.dto.req.RecycleBinSaveReqDTO;
import com.nageoffer.shortlink.project.dto.req.ShortLinkRecycleBinPageReqDTO;
import com.nageoffer.shortlink.project.dto.resp.ShortLinkPageRespDTO;

public interface RecycleBinService extends IService<ShortLinkDO> {


    /**
     * 回收站新增
     * @param recycleBinSaveReqDTO
     * @return
     */
    void recycleBinSave(RecycleBinSaveReqDTO recycleBinSaveReqDTO);


    /**
     * 分页查询回收站管理
     *
     * @return
     */
    IPage<ShortLinkPageRespDTO> pageShortLink(ShortLinkRecycleBinPageReqDTO shortLinkRecycleBinPageReqDTO);

    /**
     * 恢复回收站短链接
     * @param recycleBinRecoverReqDTO
     */
    void recycleBinRecover(RecycleBinRecoverReqDTO recycleBinRecoverReqDTO);

    /**
     * 移除短链接
     * @param recycleBinRemoveReqDTO
     */
    void recycleBinRemove(RecycleBinRemoveReqDTO recycleBinRemoveReqDTO);

}
